package com.neouton.crm.pm.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.neouton.common.entity.BaseEntityVO;
import com.neouton.crm.approval.entity.ApprovalVO;
import com.neouton.crm.entity.SysUserEntity;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
public class BackMoneyPlanVo extends BaseEntityVO implements Serializable {
    /**
     * 回款id
     */
    private Integer bmpId;
    /**
     * 项目id
     */
    private Integer projectManageId;
    /**
     * 合同id
     */
    private Integer contractId;
    /**
     * 回款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date bmpDate;

    private String bmpDateStr;
    /**
     * 期次
     */
    private Integer bmpPeriod;

    /**
     * 期次
     */
    private String bmpPeriodStr;
    /**
     * 回款金额
     */
    private String bmpMoney;
    /**
     * 冲消金额
     */
    private String flushMoney;
    /**
     * 回款备注
     */
    private String bmpRemarks;
    /**
     * 是否回款
     */
    private Integer isBm;
    /**
     * 是否回款
     */
    private String isBmStr;
    /**
     * 开具发票
     */
    private Integer isBilling;
    /**
     * 开具发票
     */
    private String isBillingStr;
    /**
     * 责任人
     */
    private Integer liableId;
    /**
     * 状态
     */
    private Integer state;
    /**
     * 审批主键表
     */
    private Integer approvalStatus;
    /**
     * 申请金额
     */
    private String billMoney;

    /**
     * 对应合同
     */
    private ContractInfoVO contractInfo;

    /**
     * 责任人
     */
    private SysUserEntity liableUser;

    /**
     * 计划日期集合
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private List<Date> bmpDateList;

    /**
     * 排序字段
     */
    private String orderByProp;

    /**
     * 排序类型
     */
    private String order;

    private List<String> bmpMoneys;

    private List<String> flushMoneys;

    /**
     * 所有页面展示金额
     */
    private Map<String, String> allPageShowMoney;
    /**
     * 合同甲方
     */
    private String  customerName;
    /**
     * 跟踪人
     */
    private Integer returnedPrincipal;

    /**
     * 项目责任人
     */
    private Integer projectPrincipal;

    private String dateOption;


}
